23645
5340
Não quero renomear um branch remoto, conforme descrito em Renomear branch master para repositórios Git locais e remotos.
Como posso renomear um branch local que não foi enviado para um branch remoto?
Caso você precise renomear um branch remoto também: Como faço para renomear um nome de branch local e remoto do Git 
1
2
Próximo
Se você deseja renomear um branch enquanto aponta para qualquer branch, faça:
git branch -m  
Se você deseja renomear o branch atual, você pode fazer:
git branch -m 
Uma maneira de lembrar isso é -m é para "mover" (ou mv), que é como você renomeia arquivos. Adicionar um alias também pode ajudar. Para fazer isso, execute o seguinte:
git config --global alias.rename 'branch -m'
Se você estiver no Windows ou em outro sistema de arquivos insensível a maiúsculas e minúsculas, e houver apenas alterações de maiúsculas no nome, você precisará usar -M, caso contrário, o git lançará o erro já existe do ramo:
git branch -M 
|
git branch -m old_branch_name new_branch_name
O comando acima mudará o nome do seu branch, mas você deve ter muito cuidado ao usar o branch renomeado, porque ele ainda fará referência ao branch upstream antigo associado a ele, se houver.
Se você quiser enviar algumas alterações para o mestre depois que seu branch local for renomeado para new_branch_name (nome de exemplo):
git push origin new_branch_name: master (agora as alterações irão para o branch master, mas o nome do branch local é new_branch_name)
Para obter mais detalhes, consulte "Como renomear o nome do seu branch local no Git."
|
Para renomear seu branch atual:
git branch -m 
|
Aqui estão as etapas para renomear o branch:
Mude para a filial que precisa ser renomeada
git branch -m 
git push origin: 
git push origin : refs / heads / 
EDIT (12/01/2017): Certifique-se de executar o comando git status e verifique se o branch recém-criado está apontando para seu próprio ref e não o mais antigo. Se você encontrar a referência ao branch mais antigo, será necessário remover a configuração do upstream usando:
git branch --unset-upstream
|
Renomear o branch será útil quando seu branch estiver concluído. Então, novas coisas estão chegando e você deseja desenvolver no mesmo branch em vez de excluí-lo e criar um novo.
Pela minha experiência, para renomear um branch local e remoto no Git, você deve seguir os seguintes passos.
Citando de vários estados - Renomeie uma filial local e remota em
idiota
1. Renomeie sua filial local
Se você estiver no ramo que deseja renomear:
git branch -m new-name
Se você estiver em um ramo diferente:
git branch -m nome-antigo novo-nome
2. Exclua o branch remoto de nome antigo e envie o branch local de novo nome
git push origin: nome-antigo nome-novo
3. Redefina o branch upstream para o branch local com novo nome
git push origin -u new-name
|
As respostas até agora estão corretas, mas aqui estão algumas informações adicionais:
Pode-se renomear com segurança um branch com '-m' (mover), mas deve-se ter cuidado com '-M', pois força a renomeação, mesmo que já exista um branch com o mesmo nome. Aqui está o trecho da página do manual 'git-branch':
Com uma opção -m ou -M,  será renomeado para . Se  tinha um reflog correspondente, ele é renomeado para corresponder a  e uma entrada reflog é criada para lembrar a renomeação do branch. Se  existir, -M deve ser usado para forçar a renomeação.
|
1. Renomear
Se for o seu ramo atual, basta fazer
git branch -m new_name
Se for outro ramo que você deseja renomear
git branch -m old_name new_name
2. Rastreie uma nova filial remota
- Se seu branch foi enviado por push, depois de renomear você precisa excluí-lo do repositório Git remoto e pedir ao seu novo local para rastrear um novo branch remoto:
git push origin: old_name
git push --set-upstream origin new_name
|
Eu tolamente nomeei um branch começando com um hífen e, em seguida, verifiquei o master. Eu não queria deletar meu branch, eu tinha trabalho nele.
Nenhum deles funcionou:
git checkout -dumb-name
git checkout - -dumb-name
"s, 'se \ s também não ajudaram. git branch -m não funciona.
Veja como eu finalmente consertei. Vá para o .git / refs / heads da sua cópia de trabalho, encontre o nome do arquivo "-dumb-name", obtenha o hash do branch. Em seguida, isso fará o check out, fará um novo branch com um nome lógico e excluirá o antigo.
git checkout {hash}
git checkout -b nome-brilhante
git branch -d - -dumb-name
|
Para renomear um branch localmente:
git branch -m [old-branch] [new-branch]
Agora você terá que propagar essas mudanças em seu servidor remoto também.
Para enviar alterações do branch antigo excluído:
origem do git push: [ramo antigo]
Para empurrar mudanças de criação de novo ramo:
git push origin [new-branch]
|
Apenas três etapas para replicar a mudança no nome remoto e também no GitHub:
Etapa 1 git branch -m old_branchname new_branchname
Etapa 2 git push origin: old_branchname new_branchname
Etapa 3 git push --set-upstream origin new_branchname
|
Renomeie o branch usando este comando:
git branch -m [old_branch_name] [new_branch_name]
-m: Renomeia / move o ramo. Se já houver um branch, você receberá um erro.
Se já existe um branch e você deseja renomear com esse branch, use:
git rename -M [old_branch_name] [new_branch_name]
Para obter mais informações sobre a ajuda, use este comando no terminal:
git branch --help
ou
cara vairamo
|
Os usuários avançados do Git podem renomear manualmente usando:
Renomeie o branch antigo em .git / refs / heads para o novo nome
Renomeie o branch antigo em .git / logs / refs / heads para o novo nome
Atualize o .git / HEAD para apontar para seu novo nome de branch
|
Renomeie sua filial local.
Se você estiver no ramo que deseja renomear:
git branch -m new-name
Se você estiver em um ramo diferente:
git branch -m nome-antigo novo-nome
Exclua o branch remoto de nome antigo e envie por push o branch local de novo nome.
git push origin: nome-antigo nome-novo
Redefina a ramificação upstream para a ramificação local new-name.
Mude para a filial e então:
git push origin -u new-name
Ou para fazer isso rapidamente, você pode usar estas três etapas:
# Renomear filial localmente
git branch -m old_branch new_branch
# Exclua o antigo branch remoto
git push origin: old_branch
# Empurre o novo ramo, defina o ramo local para rastrear o novo remoto
git push --set-upstream origin new_branch
Referência: https://www.w3docs.com/snippets/git/how-to-rename-git-local-and-remote-branches.html
|
Aqui estão três etapas: Um comando que você pode chamar dentro de seu terminal e alterar o nome do branch.
git branch -m old_branch new_branch # Renomear branch localmente
git push origin: old_branch # Exclua o branch antigo
git push --set-upstream origin new_branch # Envia o novo branch, define o branch local para rastrear o novo remoto
Se você precisar de mais: passo a passo, How To Change Git Branch Name é um bom artigo sobre isso.
|
Provavelmente, conforme mencionado por outros, essa será uma incompatibilidade de caso na nomenclatura de ramificação.
Se você tiver essa situação, posso supor que você está no Windows, o que também o levará a:
$ git branch -m CaseSensitive caseensitive
fatal: já existe um branch chamado 'caseensitive'.
Então você tem que fazer uma etapa intermediária:
$ git branch -m temporário
$ git branch -m caseensitive
Nada mais.
|
Tentar responder especificamente à pergunta (pelo menos o título).
Você também pode renomear o branch local, mas continua rastreando o nome antigo no remoto.
git branch -m old_branch new_branch
git push --set-upstream origin new_branch: old_branch
Agora, quando você executa git push, a referência old_branch remota é atualizada com sua new_branch local.
Você tem que conhecer e lembrar esta configuração. Mas pode ser útil se você não tiver a opção de escolher o nome do branch remoto, mas não gostar (oh, quero dizer, você tem um bom motivo para não gostar!) E preferir um nome mais claro nome para sua filial local.
Jogando com a configuração de busca, você pode até mesmo renomear a referência remota local. ou seja, tendo um refs / remote / origin / new_branch ref pointer para o branch, que é de fato o old_branch na origem. No entanto, eu desencorajo isso, para a segurança de sua mente.
|
Mudar o branch localmente é muito fácil ...
Se você estiver no branch para o qual deseja alterar o nome, basta fazer o seguinte:
git branch -m my_new_branch
Caso contrário, se você estiver no master ou em qualquer outro branch diferente daquele que deseja alterar o nome, basta fazer:
git branch -m my_old_branch my_new_branch
Além disso, crio a imagem abaixo para mostrar isso em ação em uma linha de comando. Neste caso, você está no branch master, por exemplo:
|
Se você estiver disposto a usar SourceTree (que eu recomendo fortemente), você pode clicar com o botão direito no seu branch e escolher 'Renomear'.
|
Para renomear o branch atual (exceto para o estado HEAD desanexado), você também pode usar este alias:
[alias]
mvh =! sh -c 'git branch -m `git rev-parse --abbrev-ref HEAD` $ 1'
|
Outra opção é não usar a linha de comando. Clientes Git GUI, como SourceTree, eliminam muito da curva de aprendizado sintático / dor que faz com que questões como esta estejam entre as mais visualizadas no Stack Overflow.
Em SourceTree, clique com o botão direito em qualquer branch local no painel "Branches" à esquerda e selecione "Renomear ...".
|
Uma maneira simples de fazer isso:
git branch -m old_branch new_branch # Renomear branch localmente
git push origin: old_branch # Exclua o branch antigo
git push --set-upstream origin new_branch # Envia o novo branch, define o branch local para rastrear o novo remoto
Para mais, veja isto.
|
Como você não deseja enviar a ramificação para um servidor remoto, este exemplo será útil:
Digamos que você tenha um branch existente chamado "my-hot-feature" e queira renomeá-lo para "feature-15".
Primeiro, você deseja alterar sua filial local. Isso não poderia ser mais fácil:
git branch -m my-hot-feature-15
Para obter mais informações, você pode visitar Renomeando localmente e remotamente uma filial no Git.
|
Git versão 2.9.2
Se você deseja alterar o nome da filial local em que está:
git branch -m new_name
Se você deseja alterar o nome de uma filial diferente:
git branch -m old_name new_name
Se você deseja alterar o nome de uma filial diferente para um nome que já existe:
git branch -M old_name new_name_that_already_exists
Nota: O último comando é destrutivo e renomeará seu branch, mas você perderá o branch antigo com esse nomee esses commits porque os nomes dos ramos devem ser únicos.
|
Se você deseja alterar o nome do branch atual, execute:
git branch -m [old_branch] [new_branch]
Se você deseja excluir o branch remoto antigo, execute:
origem do git push: [old_branch]
Se você deseja excluir o branch remoto antigo e criar um novo branch remoto, execute:
git push origin: old_branch new_branch
|
Na verdade, você tem três etapas porque a filial local tem uma duplicata no servidor, então temos uma etapa para local em duas etapas no servidor:
Renomear local: basta usar o seguinte comando para renomear seu branch atual, mesmo que você tenha verificado:
git branch -m  
Exclua o servidor: use o seguinte comando para excluir o branch de nome antigo no servidor:
git push : 
Envie o novo: agora é hora de enviar o novo branch nomeado no servidor:
git push -u 
|
A renomeação do branch Git pode ser feita usando:
git branch -m oldBranch newBranch
git branch -M oldBranch ExistingBranch
A diferença entre -m e -M:
-m: se você está tentando renomear seu branch com um nome de branch existente usando -m.
Irá gerar um erro dizendo que o branch já existe. Você precisa fornecer um nome exclusivo.
Mas,
-M: isso o ajudará a forçar a renomeação com um determinado nome, mesmo que exista. Portanto, um branch existente será totalmente substituído por ele ...
Aqui está um exemplo de terminal Git,
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch
mestre
master0
new_master
teste
* test1
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -m test1 test
fatal: um branch chamado 'teste' já existe.
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch -M test1 test
mohideen @ dev: ~ / project / myapp / sunithamakeup $ git branch
mestre
master0
new_master
* teste
mohideen @ dev: ~ / project / myapp / sunithamakeup $
|
Para usuários da GUI do Git, não poderia ser muito mais simples.
Na GUI do Git, escolha o nome do branch na lista suspensa na caixa de diálogo "Rename Branch" criada a partir do item de menu Branch: Rename, digite um novo nome e clique em "Rename". Eu destaquei onde encontrar a lista suspensa.
|
Todas as respostas anteriores falam sobre git branch -m. Claro, é fácil de operar, mas para mim, pode ser um pouco difícil lembrar de outro comando do Git. Então tentei fazer o trabalho pelo comando com o qual estava familiarizado. Sim, você pode adivinhar.
Eu uso git branch -b . E se você não quiser salvar o branch antigo agora, você pode executar git branch -D  para removê-lo.
Eu sei que pode ser um pouco tedioso, mas é mais fácil de entender e lembrar. Espero que seja útil para você.
|
Se você quiser:
Renomeie o repositório Git, execute: git branch -m  
Exclua o branch antigo por: git push origin: old-name new-name
Faça commit usando: git commit 
e empurre usando: git push origin new_branch_name: master
Se você quiser verificar o status, use: git status
Se você quiser verificar, use: git checkout
|
Antes de começar, certifique-se de ter selecionado o branch que deseja renomear:
git checkout old-name
Se você quiser ver todos os seus branches locais, use o seguinte comando:
git branch --list
Quando tudo estiver limpo, siga estas etapas:
Usar o comando Git rename branch exigirá que você adicione uma opção -m ao seu comando:
git branch -m new-name
Você também pode renomear um branch local de outro branch usando os dois comandos a seguir:
git checkout master
git branch -m nome-antigo novo-nome
Por último, este comando irá listar todos - locais e remotos - ramos para verificar se foi renomeado:
git branch -a
Embora não seja possível renomear um branch remoto diretamente, o processo de renomear um envolve estas três etapas fáceis:
Para começar, você precisará renomear uma filial local seguindo as etapas anteriores.
2. Em seguida, exclua o branch antigo e empurre o novo. Você pode fazer isso facilmente com os seguintes comandos:
git push origin - excluir nome antigo
git push origin: nome-antigo nome-novo
Redefina o branch upstream para seu novo branch local e você estará pronto:
git push origin -u new-name
|
1
2
Próximo
Questão altamente ativa. Ganhe 10 reputação para responder a esta pergunta. O requisito de reputação ajuda a proteger essa pergunta contra spam e atividades sem resposta.
Não é a resposta que você está procurando? Navegue por outras questões com a tag git version-control git-branch ou faça sua própria pergunta.